package com.xoms.admin.persist.dao;

import java.util.List;

import com.xoms.admin.model.ProPureBackBean;
import com.xoms.admin.model.ProPureBackInfoBean;
import com.xoms.admin.model.vo.AuditPureBackBean;
import com.xoms.admin.model.vo.BatchPureBackBean;
import com.xoms.admin.model.vo.ProPureBackVo;

/**
 * 退货相关dao
 * @author chengl
 *
 */
public interface ProPureBackDao {
	
	/**
	 * 获取退货数量
	 * @param startTime
	 * @param endTime
	 * @param storeHouseId
	 * @return
	 */
	int selectCount(String startTime, String endTime, String storeHouseId);
	
	/**
	 * 获取退货单列表
	 * @param page
	 * @param pageSize
	 * @param startTime
	 * @param endTime
	 * @param storeHouseId
	 * @return
	 */
	List<ProPureBackBean> selectList(int page, int pageSize, String startTime, String endTime, String storeHouseId);
	
	/**
	 * 详情数量
	 * @param bid
	 * @param key 
	 * @return
	 */
	int selectDetailCount(String bid, String key);
	
	/**
	 * 详情列表
	 * @param bid
	 * @param key 
	 * @param page
	 * @param pageSize
	 * @param paging
	 * @return
	 */
	List<ProPureBackInfoBean> selectDetailList(String bid, String key, int page, int pageSize, int paging);
	
	/**
	 * 根据id获取信息
	 * @param bid
	 * @return
	 */
	ProPureBackBean selectOneById(String bid);
	
	/**
	 * 删除详情
	 * @param bid
	 * @return
	 */
	int delDetails(String bid);
	
	/**
	 * 更新审核状态
	 * @param bid
	 * @param i
	 * @return
	 */
	int updateSubmitStatus(String bid, int i);
	
	/**
	 * 删除
	 * @param bid
	 * @return
	 */
	int del(String bid);
	
	/**
	 * 获取最大订单数
	 * @return
	 */
	String selectMaxNoInYear();
	
	/**
	 * 新建
	 * @param data
	 * @return
	 */
	int insert(ProPureBackBean data);
	
	/**
	 * 更新
	 * @param data
	 * @return
	 */
	int update(ProPureBackBean data);
	
	/**
	 * 批量更新
	 * @param batch
	 * @return
	 */
	int replaceBatchDetail(List<BatchPureBackBean> batch);
	
	/**
	 * 获取详情
	 * @param aid
	 * @return
	 */
	AuditPureBackBean selectAuditPureBacksById(String aid);
	
	/**
	 * 商品退货数量
	 * @param targetId
	 * @return
	 */
	List<ProPureBackVo> selectProductListByPid(String targetId);


}
